﻿@using Abp.Application.Services.Dto;
@using FwProject.Settlement
@using FwProject.Settlement.Dto
@using FwProject.Core.SettlementInfoModel
@using FwProject.Core.Restaurant
@using X.PagedList
@*@model IPagedList<SettlementInfoDto>*@
@{
    ViewBag.Title = "分配收据";
}
@section styles{
    <link href="~/Theme/css/plugins/iCheck/custom.css" rel="stylesheet">
    <link href="~/Theme/css/plugins/datapicker/datepicker3.css" rel="stylesheet">
    <style type="text/css">
        .input-group[class*=col-] {
            padding: 0 15px;
        }
    </style>
}
<div class="row wrapper wrapper-content animated fadeInRight">
    <div class="col-sm-12">
        <div class="ibox float-e-margins">
            <div class="ibox-title">
                <h5>@ViewBag.Title</h5>
                <div class="ibox-tools">
                    <a class="collapse-link">
                        <i class="fa fa-chevron-up"></i>
                    </a>
                    <a class="dropdown-toggle" data-toggle="dropdown" href="buttons.html#">
                        <i class="fa fa-wrench"></i>
                    </a>
                    <ul class="dropdown-menu dropdown-user">
                        <li>
                            <a href="javascript:Export()">导出</a>
                        </li>
                    </ul>
                </div>
            </div>
            <div class="ibox-content">
                <div class="m-b-sm m-t-sm">
                    <form class="form-horizontal" asp-controller="Settlement" asp-action="AssignReceipt" data-ajax="true" data-ajax-update="#data_list" data-ajax-method="Get" data-ajax-mode="replace" data-ajax-success="SuccessCallbackgoback">
                        <input type="hidden" id="size" name="size" value="0" />
                        <div class="row">
                            <div class="col-md-3 col-lg-2">
                                <label class="control-label col-md-5">餐厅：</label>
                                <div class="input-group">
                                    <input type="text" name="keyword" id="keyword" placeholder="请输入餐厅名称" class="input-sm form-control">
                                </div>
                            </div>
                            <div class="col-md-3 col-lg-2">
                                <label class="control-label col-md-5">收款人：</label>
                                <div class="input-group">
                                    @Html.DropDownList("DriverId", ViewBag.Cashier as IEnumerable<SelectListItem>, "全部", new { @class = "form-control numbrs" })
                                </div>
                            </div>
                            <div class="col-md-6 col-lg-5">
                                <label class="control-label col-md-3 col-lg-2">配送日期：</label>
                                <div class="col-md-3  col-lg-2">
                                    <select id="data_select" class="input-s form-control"></select>
                                </div>
                                <div class="input-daterange input-group" id="datepicker">
                                    <input type="text" name="beginTime" id="beginTime" placeholder="起始时间" class="input-sm form-control" autocomplete="off">
                                    <span class="input-group-addon">至</span>
                                    <input type="text" name="endTime" id="endTime" placeholder="结束时间" class="input-sm form-control" autocomplete="off" />
                                </div>
                            </div>

                        </div>
                        <div class="row">
                            <div class="col-md-12 col-lg-9" style="margin-top:15px;">
                                <div class="col-md-3 col-lg-3">
                                    <label class="control-label col-md-5 col-lg-4">分配状态：</label>
                                    <div class="input-group">
                                        <select name="AssignmentStatus" id="AssignmentStatus" class="form-control">
                                            <option value="">全部</option>
                                            <option value="未分配">未分配</option>
                                            <option value="已分配">已分配</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="col-md-3 col-lg-3">
                                    <label class="control-label col-md-5 col-lg-4">收款周期：</label>
                                    <div class="input-group">
                                        <enums asp-enum="typeof(BalanceCycleEnum)" asp-valuetype="1" asp-name="BalanceCycleEnum" id="BalanceCycleEnum" asp-isdefault="true" class="form-control"></enums>
                                    </div>
                                </div>
                                <div class="col-md-3 col-lg-3">
                                    <label class="control-label col-md-5 col-lg-4">缴款状态：</label>
                                    <div class="input-group">
                                        <enums asp-enum="typeof(RestaurantPayStatus)" asp-valuetype="1" asp-name="RestaurantPayStatus" id="RestaurantPayStatus" asp-isdefault="true" class="form-control"></enums>
                                    </div>
                                </div>
                                <div class="col-md-3 col-lg-3">
                                    <label class="control-label col-md-5 col-lg-3">线路：</label>
                                    <div class="input-group">
                                        @Html.DropDownList("Line", ViewBag.Line as IEnumerable<SelectListItem>, "全部", new { @class = "form-control" })
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-2 col-lg-3" style="margin-top:15px;">
                                <span class="input-group-btn">
                                    <button type="submit" class="btn btn-sm btn-primary"> 查询</button>
                                    @if (IsGranted(FwProject.Authorization.PermissionNames.Finance_Operation_Assignment))
                                    {
                                        <button type="button" class="btn btn-success btn-sm" data-toggle="modal" data-target="#modal_ajax" data-url="@Url.Action("AssignUser")" data-backdrop="static"><i class="fa fa-plus"></i>分配收退款员</button>
                                    }
                                    else
                                    {
                                        <button type="button" class="btn btn-default btn-sm">无分配收退款员权限</button>
                                    }

                                </span>
                            </div>
                        </div>
                    </form>

                </div>
                <div id="data_list">
                    @*@{Html.RenderPartial("AssignReceiptPartial", Model);}*@
                </div>
            </div>
        </div>
    </div>
</div>
<div id="modal_ajax" class="modal inmodal fade" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
</div>
@section scripts{
    <script src="~/Theme/js/content.min.js?v=1.0.0"></script>
    <script src="~/Theme/js/plugins/iCheck/icheck.min.js"></script>
    <script src="~/Theme/js/plugins/datapicker/bootstrap-datepicker.js"></script>
    <script src="~/Theme/js/plugins/suggest/bootstrap-suggest2014.js"></script>
    <script src="~/js/DateComm.js"></script>
    <script src="~/js/PrintUtil.js"></script>
    <script type="text/javascript">

        function Export() {
            var keyword = $('#keyword').val();
            var DriverId = $('#DriverId').val();
            var beginTime = $('#beginTime').val();
            var endTime = $('#endTime').val();
            var AssignmentStatus = $('#AssignmentStatus').val();
            var BalanceCycleEnum = $('#BalanceCycleEnum').val();
            var RestaurantPayStatus = $('#RestaurantPayStatus').val();
            var Line = $('#Line').val();
            window.location.href = "/Settlement/AssignReceiptExport?DriverId=" + DriverId + "&Line=" + Line + "&beginTime=" + beginTime + "&endTime=" + endTime + "&BalanceCycleEnum" + BalanceCycleEnum + "&RestaurantPayStatus" + RestaurantPayStatus + "&AssignmentStatus=" + AssignmentStatus + "&keyword" + keyword;
        }

        function SuccessCallbackgoback() {
            $(".i-checks").iCheck({ checkboxClass: "icheckbox_square-green", radioClass: "iradio_square-green", });

            $('#chkDiv').on('ifChecked', function (event) { //ifCreated 事件应该在插件初始化之前绑定
                $("#t tbody").find('.i-checks').iCheck('check');
            });
            $('#chkDiv').on('ifUnchecked', function (event) { //ifCreated 事件应该在插件初始化之前绑定
                $("#t tbody").find('.i-checks').iCheck('uncheck');
            });
        }
        function ReloadAjaxCallbackgoback(data, successInfo) {
            CommonAjaxCallback(data, function () {
                $('#modal_ajax').modal("hide");
                window.location.reload();
            }, successInfo);
        }
        function AjaxSuccessCallback() {
            layer.closeAll();
            $(".i-checks").iCheck({ checkboxClass: "icheckbox_square-green", radioClass: "iradio_square-green", });
        }

        $(document).ready(function () {
            $(".i-checks").iCheck({ checkboxClass: "icheckbox_square-green", radioClass: "iradio_square-green", });

            $('#chkDiv').on('ifChecked', function (event) { //ifCreated 事件应该在插件初始化之前绑定
                $("#t tbody").find('.i-checks').iCheck('check');
            });
            $('#chkDiv').on('ifUnchecked', function (event) { //ifCreated 事件应该在插件初始化之前绑定
                $("#t tbody").find('.i-checks').iCheck('uncheck');
            });

            $.getJSON("/Users/GetSuggestData?type=司机类型").done(function (data) {
                CommonAjaxCallback(data, function () {
                    bindSuggest(data.result);
                }, null);
            }).fail(function () {
                layer.msg('连接超时，获取司机信息失败！', {
                    icon: 2,
                    time: 2000
                });
            });

            $('#modal_ajax').on('show.bs.modal', function (e) {
                //$(this).addClass('loading');
                var t = $("#t tbody").find('input[type="checkbox"]');
                var ids = [];
                for (var i = 0; i < t.length; i++) {
                    if ($(t[i]).prop('checked')) {
                        ids.push($(t[i]).val());
                    }
                }
                if (ids.length == 0) {
                    layer.msg('请至少选择一条数据！！', {
                        icon: 2,
                        time: 2000
                    });
                    return false;
                }
                var $button = $(e.relatedTarget);
                var url = $button.data('url');
                if (!!url) {
                    url = url + ((url.indexOf("?") > -1) ? "&r=" : "?r=") + Math.random();
                    $(this).load(url, function () {
                        $("#Ids").val(ids.join("|"));

                        $.validator.unobtrusive.parse(this); //$("#form_model_create").validate();
                        $("input[name='CreationTime']").datepicker({ todayBtn: "linked", keyboardNavigation: !1, forceParse: !1, calendarWeeks: !0, autoclose: !0 });
                        $(".i-checks").iCheck({ checkboxClass: "icheckbox_square-green", radioClass: "iradio_square-green", });
                        $(this).removeClass('loading');
                    });
                }
            });



            //开始时间
            $('#beginTime').datepicker({
                todayBtn: "linked",
                autoclose: true,
                todayHighlight: true

            }).on('changeDate', function (e) {
                var startTime = e.date;
                $('#endTime').datepicker('setStartDate', startTime);
            });
            //结束时间：
            $('#endTime').datepicker({
                todayBtn: "linked",
                autoclose: true,
                todayHighlight: true
            }).on('changeDate', function (e) {
                var endTime = e.date;
                $('#beginTime').datepicker('setEndDate', endTime);
            });

            $(".form-horizontal").submit();
        });

        function bindSuggest(data) {
            if ($("#dropdown-driverid") != undefined) {
                $role = $("#dropdown-driverid").bsSuggest({
                    effectiveFields: ["name"],
                    effectiveFieldsAlias: { "name": "姓名" },
                    searchFields: ["name"],
                    clearable: true,
                    getDataMethod: "data",
                    //url: "/Users/GetSuggestData?type=司机类型&keyword=",
                    data: { value: data },
                    idField: "id",
                    keyField: "name",
                }).on('onDataRequestSuccess', function (e, result) {
                    console.log('onDataRequestSuccess: ', result);
                }).on('onSetSelectValue', function (e, keyword, data) {
                    $("#DriverId").val(data.id);
                    console.log('onSetSelectValue: ', keyword, data);
                }).on('onUnsetSelectValue', function () {
                    console.log('onUnsetSelectValue');
                });
            }
        }

        function blurEmpty() {
            var cityObj = $("#dropdown-driverid");
            var DriverId = $("#DriverId");
            if (cityObj.val() == "") {
                DriverId.attr("value", "");
            }
        }

        new DateContUtil({//【下拉日期】
            selectId: "data_select",//下拉框のID
            startDate: 'beginTime',//开始日期(不填默认search_startDateBase)
            endDate: 'endTime',//结束日期(不填默认search_endDateBase)
            defaultValue: '4',//本月
            selectedFun: function () {//选中后触发の方法
                $(".form-horizontal").submit();
            }
        });

        $("#data_list").on("change", "#pageSize", function () {
            var size = $("option:selected", this).val();
            var pageurl = $("#pageurl").val();
            $("#data_list").load("/Settlement/AssignReceipt?size=" + size + "&r=" + Math.random() + pageurl, function () {
                layer.closeAll();
                $("#size").val($("option:selected", this).val());
                AjaxSuccessCallback();
            });
        });
    </script>
}